如何在Kotlin中克隆或复制列表

您所在的位置:网站首页 kotlin mutablelist 如何在Kotlin中克隆或复制列表

如何在Kotlin中克隆或复制列表

2023-03-12 21:35| 来源: 网络整理| 查看: 265

您可以使用提供的扩展名Iterable.toMutableList(),这将为您提供一个新列表。不幸的是,正如其签名和文档所暗示的那样,它旨在确保an Iterable是一个List(toString与其他许多to方法一样)。没有什么可以保证您将成为一个新的清单。例如,在扩展名的开头添加以下行:if (this is List) return this是合理的性能改进(如果确实可以提高性能)。

另外,由于其名称,生成的代码也不是很清楚。

我更喜欢添加自己的扩展名以确保结果并创建更清晰的代码(就像我们对array一样):

fun List.copyOf(): List { val original = this return mutableListOf().apply { addAll(original) } } fun List.mutableCopyOf(): MutableList { val original = this return mutableListOf().apply { addAll(original) } }

请注意,这addAll是最快的复制方法,因为它System.arraycopy在的实现中使用本机ArrayList。

另外,请注意,这只会给您浅表的副本。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3